package com.zhihaoliang.moshi.base

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.viewbinding.ViewBinding

/**
 * @author 支豪亮
 * @date 2023/1/20 09:19
 * @des 所有Activity 的父类
 */

abstract class BaseActivity<T : ViewBinding> : AppCompatActivity(){

    lateinit var dataBinding: T

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        dataBinding = initDataBinding()
        setContentView(dataBinding.root)

        bindData()

        initView()
    }

    /**
     * 初始化 dataBinding
     */
    abstract  fun initDataBinding():T

    /**
     * 数据绑定
     */
    open fun bindData(){

    }

    /**
     * View 的初始化
     */
    open fun initView(){

    }
}